var index = 20;
var xCount = 100;
var yCount = 100;
var x_index = 1;

// 使用正弦函数来生成平滑的起伏效果
function generateSmoothCoordinateData() {
    var data = [];
    for (var i = 0; i < xCount; i++) {
        for (var j = 0; j < yCount; j++) { // 每次循环时确保 j 从 0 开始
            var x = i;
            var y = j;
            // 使用正弦和余弦函数生成平滑起伏的z值
            var z = Math.sin(x / 5) * 10 + Math.cos(y / 5) * 10 + index + x_index; // 增加振幅让起伏更明显
            data.push({
                x: x,
                y: y,
                z: -z
            });
        }
    }
    return data;
}

// 封装发送数据的函数
function sendCoordinateData() {
    // 生成当前时间戳
    var timestamp = Date.now();
    // 生成平滑的坐标数据
    var coordinateParamList = generateSmoothCoordinateData(); // 每次生成一列数据
    x_index = x_index + 3; // 每次递增 i
    // 组织请求体
    var requestData = {
        coordinateParamList: coordinateParamList,
        time: timestamp
    };

    // 使用fetch向后端发送POST请求
    fetch('http://127.0.0.1/sea/coordinate/addCoordinateList', { // 替换为你的后端接口地址
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(requestData)
        })
        .then(response => response.json())
        .then(data => {
            console.log('Response from backend:', data);
        })
        .catch(error => {
            console.error('Error sending data:', error);
        });
}

// 给按钮添加点击事件
document.getElementById('add').addEventListener('click', function() {
    // 每200毫秒发送一次数据
    setInterval(sendCoordinateData, 300);
});
